/**
 * 金融机构表
 */
module.exports = {
  up: async (queryInterface, Sequelize) => {
    /**
     * Add altering commands here.
     *
     * Example:
     * await queryInterface.createTable('users', { id: Sequelize.INTEGER });
     */
    const { INTEGER, DATE, STRING, TEXT } = Sequelize;

    await queryInterface.createTable('organization', {
      id: { type: INTEGER, primaryKey: true, autoIncrement: true },
      uuid: { type: STRING(36), unique: true },
      name: STRING(50), // 公司名称
      address: STRING(255), // 公司地址
      code: STRING(50), // 组织机构代码
      fk_type: {
        type: STRING(36),
        references: {
          model: {
            tableName: 'organization_type',
          },
          key: 'uuid',
        },
      }, // 公司类型，外键
      filler: {
        type: STRING(36),
      }, // 填写人
      createTime: DATE, // 公司建立时间
      description: TEXT, // 公司简介
      contactTel: STRING(50), // 联系人电话
      contactPerson: STRING(10), // 联系人姓名
      contactEmail: STRING(50), // 联系人email
      updateTime: DATE, // 更新日期
      createdAt: DATE,
      updatedAt: DATE,
    });
  },

  down: async queryInterface => {
    /**
     * Add reverting commands here.
     *
     * Example:
     * await queryInterface.dropTable('users');
     */
    await queryInterface.dropTable('organization');
  },
};
